package com.xyzwps.orm.ktorm.repository

import com.xyzwps.orm.ktorm.App
import com.xyzwps.orm.testcase.TagRepositoryCase
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test

class TagRepositoryTest {
    val tagCase = TagRepositoryCase(KtormTagRepository(App.db))
    val tablesRepo = KtormTablesRepository(App.db)

    @BeforeEach
    fun beforeEach() {
        tablesRepo.cleanAllTables()
    }

    @Test
    fun testInsertAndGetOk() {
        tagCase.caseInsertAndGetOk()
    }

    @Test
    fun testInsertTagDuplicate() {
        tagCase.caseInsertTagDuplicate()
    }

    @Test
    fun testUpdateOk() {
        tagCase.caseUpdateOk()
    }

    @Test
    fun testUpdateTagDuplicate() {
        tagCase.caseUpdateTagDuplicate()
    }

    @Test
    fun testUpdateNonExistedTag() {
        tagCase.caseUpdateNonExistedTag()
    }

    @Test
    fun testDeleteExistedTag() {
        tagCase.caseDeleteExistedTag()
    }

    @Test
    fun testDeleteNonExistedTag() {
        tagCase.caseDeleteNonExistedTag()
    }

    @Test
    fun testSelectAllForUser() {
        tagCase.caseSelectAllForUser()
    }
}